

/*
 * @lc app=leetcode.cn id=12 lang=java
 *
 * [12] 整数转罗马数字
 */

// @lc code=start
class Solution {
    public String intToRoman(int num) {
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<num/1000;++i){
            sb.append("M");
        }
        num %= 1000;
        switch(num/100){
            case 4:
                sb.append("CD");
                break;
            case 9:
                sb.append("CM");
                break;
            default:
                if(num/500>0){
                    sb.append("D");
                    num%=500;
                }
                for(int i=0;i<num/100;i++){
                    sb.append("C");
                }
                num%=100;
                break;
        }
        switch(num/10){
            case 4:
                sb.append("XL");
                break;
            case 9:
                sb.append("XC");
                break;
            default:
                if(num/50>0){
                    sb.append("L");
                    num%=50;
                }
                for(int i=0;i<num/10;i++){
                    sb.append("X");
                }
                num%=10;
                break;
        }
        switch(num){
            case 4:
                sb.append("IV");
                break;
            case 9:
                sb.append("IX");
                break;
            default:
                if(num/5>0){
                    sb.append("V");
                    num%=5;
                }
                for(int i=0;i<num;i++){
                    sb.append("I");
                }
                break;
        }
        return sb.toString();

    }
}
// @lc code=end

